The field of the invention relates generally to an object oriented programming environment. More particularly, the invention relates to an Object Reference data structure that enables operation within an object oriented environment.
This section provides a brief description of object oriented computing system concepts which are pertinent to the present invention. A more detailed description of the concepts discussed in this section can be found in a number of references, including Object-Oriented Systems Analysis by Sally Shlaer and Stephen J. Mellor (Yourdon Press Computing Series, 1988), Object Oriented Design With Applications by Grady Booch (The Benjamin/Cummings Publishing Company, 1990) and Object Oriented Software Construction by B. Meyer, (Prentice Hall, 1988).
In object oriented programming systems (OOPS), "messages" are sent to "objects". There are two parts to a message. The parts are: (1) Object (2) Action. The object of the message simply identifies the piece of data that comprises a specific object, called an "instance". The action specifies what to do to with that data.
In order to operate within an OOPS environment, it is necessary to have what is know as an Object Identification (OID) or Object Reference (OREF). The Object Reference is used to uniquely identify an object instance, which, in turn, allows messages to be forwarded to the object. Essentially, each object has a unique name. The Object Reference serves as a place holder for the unique name of a specific object.
The Object Reference Works in conjunction with an Object Manager and a Messenger, both of which are fundamental to an object oriented programming system, to ensure that messages are sent to the appropriate objects. The Object Manager's (OM) responsibility is to manage and keep track of all objects, whether stored in volatile memory (RAM) or in non-volatile persistent memory (called DASD or Direct Access Storage Device). Additionally, the Object Manager transparently provides data access indirection, memory management, a unit of work environment, and automatic materialization and dematerialization of persistent objects from the data base. The Messenger's responsibility is to see that every message is sent to the correct method code and that this method operates upon the correct object data. The appropriate method code for the message is determined by the messenger by using the action portion of the message.
Unlike conventional programming systems wherein emphasis is placed on methods to be conducted on data sets, in object oriented programming systems the concern is with real world objects. These real world objects have both attributes and actions to be performed on the attributes. An object is a data structure containing information about something of interest to the system and its users. Objects having similar characteristics and common behavior are instance objects of the class. In summary, instance objects contain information about things in the system and class objects contain information about instance objects. Class objects contain information that is global to all instances of a single class.